package com.mallcai.bigdata.ladon.service.export.impl.handler;

import com.mallcai.bigdata.ladon.client.vo.ReportDataVO;
import com.mallcai.bigdata.ladon.service.export.impl.ExportContext;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import java.util.UUID;

/**
 * described : 设置一些基本信息
 *
 * @author CaKeDou
 * @date 2019-09-26 14:43
 * Modify:
 */
@Component
@Order(100)
public class SetBaseInfoHandler extends AbstractExportPreHandler {
    @Override
    public void preInternal(ExportContext context) {
        //设置文件名,如果后续有压缩操作,文件名可能会更改
        String uuid = UUID.randomUUID().toString().replaceAll("-", "");
        context.setFileName(context.getFileName() + uuid + "." + StringUtils.lowerCase(context.getExportStrategy().getFileType().name()));

        //如果原始数据无需转换,目标数据直接使用原始数据
        if (context.getOriData() instanceof ReportDataVO){
            context.setTargetData((ReportDataVO) context.getOriData());
        }
    }
}
